A computing device may comprise one or more direct memory access (DMA) controllers. A device such as, for example, a network interface controller, a disk controller, a video controller, etc. may request a DMA transfer by generating a DMA request signal on a dedicated DMA request line between the device and the DMA controller. Further, the DMA controller may acknowledge a DMA request by generating a DMA acknowledge signal on a dedicated DMA acknowledge line between the DMA controller and the device. In response to a DMA request, a DMA controller may directly transfer data between a memory and the requesting device.